Python 并发之GIL的限制
xiaoxm_001:
哥们,你的两个例子代码都是一样,而且都是单线程
真正的多线程
[code=python]
import time
from threading import Thread
def my_counter():
i = 0
for _ in range(100000000):
i = i + 1
return True
def main():
thread_array = [Thread(target=my_counter), Thread(target=my_counter)]
start_time = time.time()
for t in thread_array:
t.start()
for t in thread_array:
t.join()
end_time = time.time()
print('Total time: ', end_time - start_time)
if __name__ == '__main__':
main()
[/code]
单线程
[code=python]
from threading import Thread
import time
def my_counter():
i = 0
for _ in range(100000000):
i = i + 1
return True
def main():
thread_array = {}
start_time = time.time()
my_counter()
my_counter()
end_time = time.time()
print('Total time: ', end_time - start_time)
if __name__ == '__main__':
main()
[/code]
|